using Admin2025.Application.DTOs;
using Backoffice.Application.Common;
using BackOffice.Application.DTOs;

namespace BackOffice.Application.Services;

public interface IRoleService
{
  Task<ApiResult> CreateRoleAsync(CreateRoleDto createRoleDto);
  Task<ApiResult> UpdateRoleAsync(Guid roleId, CreateRoleDto createRoleDto);
  Task<ApiResult> DeleteRoleAsync(Guid roleId);
  Task<ApiResult> AssignPermissionToRoleAsync(Guid roleId, string permissionCode);
  Task<ApiResult> RemovePermissionFromRoleAsync(Guid roleId, string permissionCode);
  Task<ApiResult> EnableAsync(Guid roleId);
  Task<ApiResult> DisableAsync(Guid roleId);
  Task<ApiResult> SearchRolesAsync(RoleSearchDto dto);
}